1. A function is defined to take arguments of a particular
type, form or value. When applying the function to its actual
arguments it is necessary to
match the type, form or value of
the actual arguments against the formal arguments in some
definition. For example, the function
length [
] = 0
length (x:xs) = 1 + length xs
uses
pattern matching in its argument to distinguish a null
list from a non-null one.
There are well known
algorithm for translating
pattern
matching into conditional expressions such as "if" or "case".
E.g. the above function could be transformed to
length l = case l of
[
] -> 0
x:xs -> 1 : length xs
Pattern matching is usually performed in textual order though
there are languages which
match more specific patterns before
less specific ones.
2. Descriptive of a type of language or utility such as
awk
or
Perl which is suited to searching for strings or patterns
in input data, usually using some kind of {regular
expression}.
(1994-11-28)